1. Technical Field
The present invention relates to data communication networking devices, more particularly, to data network switches capable of performing frame forwarding decisions using an efficient address table.
2. Background Art
In computer networks, a plurality of network stations are interconnected via a communications medium. For example, Ethernet is a commonly used local area network scheme in which multiple stations are connected to a single shared serial data path. These stations often communicate with a switch located between the shared data path and the stations connected to that path. Typically, the switch controls the communication of data packets on the network.
When all of the stations connected to the network are simultaneously operating, packet traffic on the shared serial path can be heavy with little time between packets. In addition, data received by the switch may include data that is being transmitted to a single station (unicast), data that is being transmitted to multiple stations (multicast) or data that is being transmitted to all the stations (broadcast). In order for the data to be properly and efficiently transmitted, the switch must make data forwarding decisions by searching an address table in a short amount of time. The address search is performed for many data packets received from many sources, resulting in the storage of a variety of information associated with source addresses. This dictates increasing the size of the address table, which stores these addresses along with other relevant information.
A key function in the proper forwarding of the frames is xe2x80x9clearningxe2x80x9d the source addresses (SA) of these frames. This learning process necessitates adding or overwriting the table entries of the network address table. Typically, the address table is stored within an integrated circuit (IC) chip, which implements the frame forwarding logic. Because the size of the table is dictated by the number of fields, a reduction in the number of fields translates into a corresponding reduction in the die size of the IC chip.
There exists a need for a switching device that employs an address table of minimal size. There is also a need to minimize the die size of the switch.
These and other needs are met by the present invention, where data received by the network switch is routed to an internal decision making engine that includes an address table that stores address information. The network switch receives data frames that have in their frame header source and destination addresses. The internal decision making engine learns source addresses by employing a source address (SA) lookup routine that makes use of the address table. The address table entries include a port vector field that contains embedded information about the receive port number.
According to one aspect of the invention, a multiport switch is configured for controlling communication of data frames. The multiport switch comprises a plurality of ports for receiving and transmitting the data frames and an address table for storing address information, which includes the source addresses and the port vectors associated with the data frames. An internal decision making engine, which is coupled to the ports, accesses the address table. The internal decision making engine is also configured to learn the source addresses of the data frames and to store the corresponding port vectors. Each of the port vectors indicates, in a learning mode, the port that received the data frame. In a forwarding mode, the port vector indicates which of the ports are to transmit the data frame.
Another aspect of the present invention provides a method for learning source addresses of data frames received by a multiport switch. The method includes receiving a frame header associated with one of the data frames, whereby, the frame header includes a source address. Also, the method includes assigning a virtual local area network (VLAN) identifier to the received data frames. An internal decision making engine learns the source addresses of the data frames by manipulating an address table that has a plurality of table entries and by creating corresponding the port vectors. Each of the port vectors indicates the port that received the data frame.
In yet another aspect of the present invention, a multiport switch is configured for controlling communication of data frames. The multiport switch comprises a plurality of ports for receiving and transmitting the data frames. An internal decision making engine is coupled to the ports and comprises an internal rules checker controller and an address table. The internal rules checker controller is configured to learn the source addresses of the data frames and to store corresponding port vectors. Each of the port vectors indicates, in a learning mode, the port that received the data frame. In a forwarding mode, the port vectors indicate which of the ports are to transmit the data frame. The internal decision making engine also has an address table for storing address information, which includes source addresses and the port vectors.
Additional advantages and novel features of the invention will be set forth in part in the description which follows, and in part may become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.